Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

215
Vistas
.on[nombre del evento] frente a addEventListener

Intenté crear un controlador de copias pero no pude.

 <!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title>test</title> </head> <body> <h1>Test</h1> <span class = "test"></span> <script type = "text/javascript" src = "script.js"></script> </body> </html>
 function handleCopy() { document.querySelector("span.test").innerText = "Copied"; } window.oncopy = handleCopy;

y copio de index.html, pero js no cambia el intervalo. pero cambiando el código js a este, el lapso es el cambio.

 function handleCopy() { document.querySelector("span.test").innerText = "Copied"; } window.addEventListener("copy", handleCopy);

¿Por qué sucedió eso? Lo siento, mi pésimo inglés :(

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esto sucede porque no hay una propiedad oncopy en el objeto de window . Si abriera la consola y escribiera "window.onco", no hay oncopy en las sugerencias. En la documentación esto no está muy claro, pero al echar un vistazo a los controladores de eventos , el evento oncopy no aparece en la lista, ni se puede encontrar en los siguientes controladores de eventos implementados desde otra lista. En cambio, puede encontrarlo en la lista de eventos , que en el prólogo dice: " Escuche estos eventos usando addEventListener() ". Parece que el artículo necesita una pequeña corrección, ya que el prólogo también dice que estos eventos se pueden adjuntar con la propiedad oneventname , obviamente, eso no es cierto en todos los casos.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El evento de copy no es un GlobalEventHandler y, por lo tanto, no tiene su propio controlador IDL disponible en window .
Este evento está definido para activarse en un HTMLElement y ahí es donde se puede acceder al IDL oncopy :

 console.log("oncopy" in HTMLElement.prototype);

Y debido a que es un DocumentAndElementEventHandler , también lo encontrará en document .

Entonces, si desea capturar el evento en la window , será mediante burbujeo y gracias al método addEventListener() .

 addEventListener("copy", (evt) => { console.log("copied"); });
 <input value="copy me">

De lo contrario, puede usar el controlador de eventos del document o cualquier HTMLElement principal (por ejemplo document.body ):

 document.oncopy = (evt) => { console.log("copied"); }
 <input value="copy me">

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda